<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        // 闭包产生多个相同的随机数
        // 形成闭包
        // function showRandom(){
        //     var num = parseInt(Math.random()*10 + 1)
        //     console.log(num)
        // }

        // showRandom()
        // showRandom()
        // showRandom()

        // 闭包的方式，产生三个随机数，但是都是相同的
        // function f1(){
        //     var num = parseInt(Math.random()*10 + 1)
        //     return function(){
        //         console.log(num)
        //     }
        // }
        // var ff = f1()
        // ff()
        // ff()
        // ff()

        // 总结：如果想要缓存数据，就把这个数据放在外层的函数和里层的函数的中间位置
        // 闭包的作用：缓存数据 这是它的优点，也是它的缺点：没有及时释放

        // 局部变量是在函数中，函数使用结束之后，局部变量就会被自动的释放
        // 闭包之后，里面的局部变量的使用作用域链会被延长
        

    </script>
</body>
</html>